package com.hllxd.hism.star.basic.service.dao.mapper.mis;

import com.hllxd.hism.star.basic.service.model.AllUserPermission;
import com.hllxd.hism.star.basic.service.model.PermissionInfo;
import com.hllxd.hism.star.basic.service.model.RoleInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 开放平台权限管控
 *
 * @author xiyong.lxy
 * @date 2021/6/15 18:15
 */

@Mapper
public interface PermissionInfoMapper {

    List<PermissionInfo> getPermissionInfo();

    List<AllUserPermission> getAllUser(@Param("userIds") String userIds,@Param("userGroupIds") String userGroupIds);

    /**
     * 获取所有用户的权限
     * @return 用权限列表
     */
    List<AllUserPermission> getAllUserPermission();

    /**
     * 获取指定用户的权限
     * @param userIds 用户OA逗号分割的字符串
     * @return 用权限列表
     */
    List<AllUserPermission> getUserPermission(@Param("userIds") String userIds);

    List<AllUserPermission> getAllUserStarPermission();

    List<PermissionInfo> getPermissionInfoByLabelPrefix(@Param("labelPrefix") String labelPrefix);

    /**
     * 获取所有的权限URI
     * @return 权限URI列表
     */
    List<PermissionInfo> getAllPermission();

    long insertPermissionInfo(PermissionInfo aa);

    long updatePermissionInfo(PermissionInfo aa);

    PermissionInfo getOnePermissionInfo(@Param("id") Long id);

    long updatePermissionAction(@Param("id") Long id);

    List<RoleInfo> getRoleInfoByPermissionId(@Param("id") Long id);

}
